package com.chuangjiangx.member.coupon.dao.model;

import java.math.BigDecimal;
import java.util.Date;

public class InMbrCoupon {
    private Long id;

    private String couponNumber;

    private Long merchantId;

    private String name;

    private BigDecimal amount;

    private Integer type;

    private Integer couponSourceType;

    private String logo;

    private BigDecimal miniExpendLimit;

    private Integer claimUpperLimit;

    private Long totalInventory;

    private Long availInventory;

    private Integer validType;

    private Integer claimedTime;

    private Date validTimeStart;

    private Date validTimeEnd;

    private String useTimeWeek;

    private String useTimeDay;

    private Integer remindType;

    private Date actTimeStart;

    private Date actTimeEnd;

    private Integer deleted;

    private String remark;

    private String wxColor;

    private String syncType;

    private String wxCenterSubTitle;

    private Integer wxAuditStatus;

    private String wxRefuseReason;

    private String wxCardId;

    private Date createTime;

    private Date updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCouponNumber() {
        return couponNumber;
    }

    public void setCouponNumber(String couponNumber) {
        this.couponNumber = couponNumber == null ? null : couponNumber.trim();
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getCouponSourceType() {
        return couponSourceType;
    }

    public void setCouponSourceType(Integer couponSourceType) {
        this.couponSourceType = couponSourceType;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo == null ? null : logo.trim();
    }

    public BigDecimal getMiniExpendLimit() {
        return miniExpendLimit;
    }

    public void setMiniExpendLimit(BigDecimal miniExpendLimit) {
        this.miniExpendLimit = miniExpendLimit;
    }

    public Integer getClaimUpperLimit() {
        return claimUpperLimit;
    }

    public void setClaimUpperLimit(Integer claimUpperLimit) {
        this.claimUpperLimit = claimUpperLimit;
    }

    public Long getTotalInventory() {
        return totalInventory;
    }

    public void setTotalInventory(Long totalInventory) {
        this.totalInventory = totalInventory;
    }

    public Long getAvailInventory() {
        return availInventory;
    }

    public void setAvailInventory(Long availInventory) {
        this.availInventory = availInventory;
    }

    public Integer getValidType() {
        return validType;
    }

    public void setValidType(Integer validType) {
        this.validType = validType;
    }

    public Integer getClaimedTime() {
        return claimedTime;
    }

    public void setClaimedTime(Integer claimedTime) {
        this.claimedTime = claimedTime;
    }

    public Date getValidTimeStart() {
        return validTimeStart;
    }

    public void setValidTimeStart(Date validTimeStart) {
        this.validTimeStart = validTimeStart;
    }

    public Date getValidTimeEnd() {
        return validTimeEnd;
    }

    public void setValidTimeEnd(Date validTimeEnd) {
        this.validTimeEnd = validTimeEnd;
    }

    public String getUseTimeWeek() {
        return useTimeWeek;
    }

    public void setUseTimeWeek(String useTimeWeek) {
        this.useTimeWeek = useTimeWeek == null ? null : useTimeWeek.trim();
    }

    public String getUseTimeDay() {
        return useTimeDay;
    }

    public void setUseTimeDay(String useTimeDay) {
        this.useTimeDay = useTimeDay == null ? null : useTimeDay.trim();
    }

    public Integer getRemindType() {
        return remindType;
    }

    public void setRemindType(Integer remindType) {
        this.remindType = remindType;
    }

    public Date getActTimeStart() {
        return actTimeStart;
    }

    public void setActTimeStart(Date actTimeStart) {
        this.actTimeStart = actTimeStart;
    }

    public Date getActTimeEnd() {
        return actTimeEnd;
    }

    public void setActTimeEnd(Date actTimeEnd) {
        this.actTimeEnd = actTimeEnd;
    }

    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getWxColor() {
        return wxColor;
    }

    public void setWxColor(String wxColor) {
        this.wxColor = wxColor == null ? null : wxColor.trim();
    }

    public String getSyncType() {
        return syncType;
    }

    public void setSyncType(String syncType) {
        this.syncType = syncType == null ? null : syncType.trim();
    }

    public String getWxCenterSubTitle() {
        return wxCenterSubTitle;
    }

    public void setWxCenterSubTitle(String wxCenterSubTitle) {
        this.wxCenterSubTitle = wxCenterSubTitle == null ? null : wxCenterSubTitle.trim();
    }

    public Integer getWxAuditStatus() {
        return wxAuditStatus;
    }

    public void setWxAuditStatus(Integer wxAuditStatus) {
        this.wxAuditStatus = wxAuditStatus;
    }

    public String getWxRefuseReason() {
        return wxRefuseReason;
    }

    public void setWxRefuseReason(String wxRefuseReason) {
        this.wxRefuseReason = wxRefuseReason == null ? null : wxRefuseReason.trim();
    }

    public String getWxCardId() {
        return wxCardId;
    }

    public void setWxCardId(String wxCardId) {
        this.wxCardId = wxCardId == null ? null : wxCardId.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", couponNumber=").append(couponNumber);
        sb.append(", merchantId=").append(merchantId);
        sb.append(", name=").append(name);
        sb.append(", amount=").append(amount);
        sb.append(", type=").append(type);
        sb.append(", couponSourceType=").append(couponSourceType);
        sb.append(", logo=").append(logo);
        sb.append(", miniExpendLimit=").append(miniExpendLimit);
        sb.append(", claimUpperLimit=").append(claimUpperLimit);
        sb.append(", totalInventory=").append(totalInventory);
        sb.append(", availInventory=").append(availInventory);
        sb.append(", validType=").append(validType);
        sb.append(", claimedTime=").append(claimedTime);
        sb.append(", validTimeStart=").append(validTimeStart);
        sb.append(", validTimeEnd=").append(validTimeEnd);
        sb.append(", useTimeWeek=").append(useTimeWeek);
        sb.append(", useTimeDay=").append(useTimeDay);
        sb.append(", remindType=").append(remindType);
        sb.append(", actTimeStart=").append(actTimeStart);
        sb.append(", actTimeEnd=").append(actTimeEnd);
        sb.append(", deleted=").append(deleted);
        sb.append(", remark=").append(remark);
        sb.append(", wxColor=").append(wxColor);
        sb.append(", syncType=").append(syncType);
        sb.append(", wxCenterSubTitle=").append(wxCenterSubTitle);
        sb.append(", wxAuditStatus=").append(wxAuditStatus);
        sb.append(", wxRefuseReason=").append(wxRefuseReason);
        sb.append(", wxCardId=").append(wxCardId);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        InMbrCoupon other = (InMbrCoupon) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getCouponNumber() == null ? other.getCouponNumber() == null : this.getCouponNumber().equals(other.getCouponNumber()))
            && (this.getMerchantId() == null ? other.getMerchantId() == null : this.getMerchantId().equals(other.getMerchantId()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getAmount() == null ? other.getAmount() == null : this.getAmount().equals(other.getAmount()))
            && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
            && (this.getCouponSourceType() == null ? other.getCouponSourceType() == null : this.getCouponSourceType().equals(other.getCouponSourceType()))
            && (this.getLogo() == null ? other.getLogo() == null : this.getLogo().equals(other.getLogo()))
            && (this.getMiniExpendLimit() == null ? other.getMiniExpendLimit() == null : this.getMiniExpendLimit().equals(other.getMiniExpendLimit()))
            && (this.getClaimUpperLimit() == null ? other.getClaimUpperLimit() == null : this.getClaimUpperLimit().equals(other.getClaimUpperLimit()))
            && (this.getTotalInventory() == null ? other.getTotalInventory() == null : this.getTotalInventory().equals(other.getTotalInventory()))
            && (this.getAvailInventory() == null ? other.getAvailInventory() == null : this.getAvailInventory().equals(other.getAvailInventory()))
            && (this.getValidType() == null ? other.getValidType() == null : this.getValidType().equals(other.getValidType()))
            && (this.getClaimedTime() == null ? other.getClaimedTime() == null : this.getClaimedTime().equals(other.getClaimedTime()))
            && (this.getValidTimeStart() == null ? other.getValidTimeStart() == null : this.getValidTimeStart().equals(other.getValidTimeStart()))
            && (this.getValidTimeEnd() == null ? other.getValidTimeEnd() == null : this.getValidTimeEnd().equals(other.getValidTimeEnd()))
            && (this.getUseTimeWeek() == null ? other.getUseTimeWeek() == null : this.getUseTimeWeek().equals(other.getUseTimeWeek()))
            && (this.getUseTimeDay() == null ? other.getUseTimeDay() == null : this.getUseTimeDay().equals(other.getUseTimeDay()))
            && (this.getRemindType() == null ? other.getRemindType() == null : this.getRemindType().equals(other.getRemindType()))
            && (this.getActTimeStart() == null ? other.getActTimeStart() == null : this.getActTimeStart().equals(other.getActTimeStart()))
            && (this.getActTimeEnd() == null ? other.getActTimeEnd() == null : this.getActTimeEnd().equals(other.getActTimeEnd()))
            && (this.getDeleted() == null ? other.getDeleted() == null : this.getDeleted().equals(other.getDeleted()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getWxColor() == null ? other.getWxColor() == null : this.getWxColor().equals(other.getWxColor()))
            && (this.getSyncType() == null ? other.getSyncType() == null : this.getSyncType().equals(other.getSyncType()))
            && (this.getWxCenterSubTitle() == null ? other.getWxCenterSubTitle() == null : this.getWxCenterSubTitle().equals(other.getWxCenterSubTitle()))
            && (this.getWxAuditStatus() == null ? other.getWxAuditStatus() == null : this.getWxAuditStatus().equals(other.getWxAuditStatus()))
            && (this.getWxRefuseReason() == null ? other.getWxRefuseReason() == null : this.getWxRefuseReason().equals(other.getWxRefuseReason()))
            && (this.getWxCardId() == null ? other.getWxCardId() == null : this.getWxCardId().equals(other.getWxCardId()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getCouponNumber() == null) ? 0 : getCouponNumber().hashCode());
        result = prime * result + ((getMerchantId() == null) ? 0 : getMerchantId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getAmount() == null) ? 0 : getAmount().hashCode());
        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
        result = prime * result + ((getCouponSourceType() == null) ? 0 : getCouponSourceType().hashCode());
        result = prime * result + ((getLogo() == null) ? 0 : getLogo().hashCode());
        result = prime * result + ((getMiniExpendLimit() == null) ? 0 : getMiniExpendLimit().hashCode());
        result = prime * result + ((getClaimUpperLimit() == null) ? 0 : getClaimUpperLimit().hashCode());
        result = prime * result + ((getTotalInventory() == null) ? 0 : getTotalInventory().hashCode());
        result = prime * result + ((getAvailInventory() == null) ? 0 : getAvailInventory().hashCode());
        result = prime * result + ((getValidType() == null) ? 0 : getValidType().hashCode());
        result = prime * result + ((getClaimedTime() == null) ? 0 : getClaimedTime().hashCode());
        result = prime * result + ((getValidTimeStart() == null) ? 0 : getValidTimeStart().hashCode());
        result = prime * result + ((getValidTimeEnd() == null) ? 0 : getValidTimeEnd().hashCode());
        result = prime * result + ((getUseTimeWeek() == null) ? 0 : getUseTimeWeek().hashCode());
        result = prime * result + ((getUseTimeDay() == null) ? 0 : getUseTimeDay().hashCode());
        result = prime * result + ((getRemindType() == null) ? 0 : getRemindType().hashCode());
        result = prime * result + ((getActTimeStart() == null) ? 0 : getActTimeStart().hashCode());
        result = prime * result + ((getActTimeEnd() == null) ? 0 : getActTimeEnd().hashCode());
        result = prime * result + ((getDeleted() == null) ? 0 : getDeleted().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getWxColor() == null) ? 0 : getWxColor().hashCode());
        result = prime * result + ((getSyncType() == null) ? 0 : getSyncType().hashCode());
        result = prime * result + ((getWxCenterSubTitle() == null) ? 0 : getWxCenterSubTitle().hashCode());
        result = prime * result + ((getWxAuditStatus() == null) ? 0 : getWxAuditStatus().hashCode());
        result = prime * result + ((getWxRefuseReason() == null) ? 0 : getWxRefuseReason().hashCode());
        result = prime * result + ((getWxCardId() == null) ? 0 : getWxCardId().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        return result;
    }
}